Succinct Encoding of Permutations and its Applications to Text Indexing (2003; Munro, Raman, Raman, Rao)
نویسندگان
چکیده
A succinct data structure for a given data type is a representation of the underlying combinatorial object that uses an amount of space “close” to the information theoretic lower bound, together with algorithms that supports operations of the data type “quickly”. A natural example is the representation of a binary tree [5]: an arbitrary binary tree on n nodes can be represented in 2n + o(n) bits while supporting a variety of operations on any node, which include finding its parent, its left or right child, and returning the size of its subtree, each in time within O(1). As there are ( 2n n ) /(n + 1) binary trees on n nodes and the logarithm of this term1 is 2n − o(n), the space used by this representation is optimal to within a lower order term. In the applications considered in this entry, the principle concern is with indexes supporting search in strings and in XML-like documents (i.e. tree-structured objects with labels and “free text” at various nodes). As happens not only labeled trees but also arbitrary binary relations over finite domains are key building blocks for this. Preprocessing such data-structures to efficiently support searches is a complex process, requiring a variety of subordinate structures. A basic building block for this work is the representation of a permutation of the integers {1, . . . , n}, denoted by [1..n]. A permutation π is trivially representable in ndlg ne bits which is within O(n) bits of the information theoretic bound of lg(n!). The interesting problem is to support both the permutation π() and its inverse π−1(): namely, how to represent an arbitrary permutation π on [1..n] in a succinct manner so that the operator πk(i)() (π() iteratively applied k times starting at i, where k can be any integer and π−1() is the inverse of π()) can be evaluated quickly.
منابع مشابه
Succinct Encoding of Permutations and its Applications to Text Indexing
A succinct data structure for a given data type is a representation of the underlying combinatorial object that uses an amount of space “close” to the information theoretic lower bound together with algorithms that supports operations of the data type “quickly”. A natural example is the representation of a binary tree [5]: an arbitrary binary tree on n nodes can be represented in 2n + o(n) bits...
متن کاملA Simple Optimal Representation for Balanced Parentheses
We consider succinct, or highly space-efficient, representations of a (static) string consisting of n pairs of balanced parentheses, that support natural operations such as finding the matching parenthesis for a given parenthesis, or finding the pair of parentheses that most tightly enclose a given pair. This problem was considered by Jacobson, [Proc. 30th FOCS, 549–554, 1989] and Munro and Ram...
متن کاملRaman Spectroscopy and its Applications in Medicine and Detection of Viruses
This article has no abstract.
متن کاملOn Succinct Representations of Binary Trees
We observe that a standard transformation between ordinal trees (arbitrary rooted trees with ordered children) and binary trees leads to interesting succinct binary tree representations. There are four symmetric versions of these transformations. Via these transformations we get four succinct representations of n-node binary trees that use 2n + n/(log n) bits and support (among other operations...
متن کاملSuccinct representations of permutations and functions
We investigate the problem of succinctly representing an arbitrary permutation, π, on {0, . . . , n − 1} so that π(i) can be computed quickly for any i and any (positive or negative) integer power k. A representation taking (1 + ǫ)n lgn + O(1) bits suffices to compute arbitrary powers in constant time, for any positive constant ǫ ≤ 1. A representation taking the optimal ⌈lgn!⌉ + o(n) bits can b...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014